package org.ala.tree.bst;

import java.util.stream.IntStream;

import org.ala.tree.ITree;

/**
 *
 * @author ala
 * @date 2025年5月17日
 */
public class Test {

	public static void main(String[] args) {
		ITree<Integer, Integer> bst = new BSTLinked<>((k1, k2) -> k1 - k2);
		
		bst.add(5, 50);
		bst.add(3, 30);
		bst.add(7, 70);
		bst.add(2, 20);
		bst.add(6, 60);
		bst.add(4, 40);
		bst.add(8, 80);
		bst.add(1, 10);
		bst.add(9, 90);
		System.out.println(bst);
		bst.remove(7);
		System.out.println("二叉搜索树");
		System.out.println(bst);
		
		//	退化成链表
		ITree<Integer, Integer> bst2 = new BSTLinked<>((k1, k2) -> k1 - k2);
		IntStream.range(0, 10).forEach(i -> bst2.add(i, i * 10));
		System.out.println("二叉搜索树，退化为链表形态");
		System.out.println(bst2);
	}

}
